package com.vito.framework.system.org.service;

import com.vito.framework.base.exception.CommonException;
import com.vito.framework.base.service.BaseService;
import com.vito.framework.system.org.model.OrgBean;

import java.util.List;
import java.util.Map;

public interface OrgManageService extends BaseService<OrgBean> {
	
	/**
	 * 查询SI列表
	 * @param paramMap
	 * @return
	 * @throws CommonException
	 */
	public List<OrgBean> getOrgManageList(Map<String, Object> paramMap) throws CommonException;
	
	/**
	 * 查询SI列表
	 * @param paramMap
	 * @return
	 * @throws CommonException
	 */
	public List<OrgBean> getOrgManageListById(Map<String, Object> paramMap) throws CommonException;
	
	/**
	 * 根据SI编号查询SI信息
	 * @param paramMap
	 * @return
	 * @throws CommonException
	 */
	public OrgBean getOrgManageById(Map<String, Object> paramMap) throws CommonException;
	
	/**
	 * 添加SI信息
	 * @param si
	 * @return
	 * @throws CommonException
	 */
	public void insertOrgManage(OrgBean org)throws CommonException;
	
	/**
	 * 插入组织机构列表
	 * @param list
	 * @return
	 * @throws CommonException
	 */
	public void insertOrgManageList(List<OrgBean> list) throws CommonException;
	
	/**
	 * 修改SI信息
	 * @param si
	 * @return
	 * @throws CommonException
	 */
	public void updateOrgManage(OrgBean org)throws CommonException;
	
	/**
	 * 删除SI信息
	 * @param paramMap
	 * @throws CommonException
	 */
	public void deleteOrgManage(Map<String, Object> paramMap)throws CommonException;

	/**
	 * 分配菜单
	 * @param paramMap
	 * @throws CommonException
	 */
	public void distributeMenus(Map<String, Object> map)throws CommonException;

	/**
	 * 查询菜单树中默认选中菜单ID
	 * @param paramMap
	 * @throws CommonException
	 */
	public List<String> getMenus(Map<String, Object> map) throws CommonException;

	public String queryTemplateList(Map<String, Object> map) throws CommonException;
	
	public void adminAdd(OrgBean si) throws CommonException;
	
	
	/**
	 * 给组织机构分配菜单
	 * @param paramMap
	 * @throws CommonException
	 */
	public void distributeOrgMenu(String orgId,String[] ids) throws CommonException;

	String getOrgLevel(String orgId);

	public List<OrgBean> getOrgManageByMenuId(String menuId)throws CommonException;
}
